package chapter07

/**
  *
  * @author Pop
  * @date 2022/6/28 22:37
  */
object Test04_List {

  def main(args: Array[String]): Unit = {
     val list1 = List(23,65,87)
    println(list1)
    // 访问，遍历元素
    println(list1(1))
    // list1(1)=12 error 不允许修改值
    list1.foreach(println)


    // 添加元素
    val ints: List[Int] = list1.+:(10)
    val ints2: List[Int] = list1 :+ 33
    val ints1: List[Int] = 10 +: list1

    /**
      * List 中有一个 :: 这样的实现
      */
    // 添加到头部，并且返回一个新的列表
    val ints3: List[Int] = list1.::(51)

    // 在 List 中还有一个实现，他就是 Nil 这是一个空的List，他一般配合:: 来使用，用来快速
    // 快速创建一个不可变的List
    val ints5: List[Int] = Nil.::(13)
    // 结合我们之前的语法，:: 冒号一遍要跟着对象
    val ints6: List[Int] = 32 :: Nil
    // 快速创建一个数组，头部开始添加，内容 为 66 77
    val ints9: List[Int] = 66 :: 77 :: Nil

    // 如何正常的合并呢
    val value: Any = ints5 :: ints6
    // 集合和集合的合并
    val ints0: List[Int] = ints5 ::: ints6
    // 另一种合并方式
    val ints10: List[Int] = ints5 ++ ints6

  }

}
